查看原文
其他

美团-数据仓库高级工程师面试(一)

臭豆腐 数据仓库与Python大数据 2022-08-17


写在前面:

金三银四,尝试着面试了几家大厂(M、K、B),应邀整理总结了一下,借公众号“数据仓库与Python大数据”平台分享给大家,一起进步!


注:面试题目会陆续整理出来,今天主要先同大家分享美团一面面试总结。



正文




1.mapreduce原理,map数,reduce数

   高频必问,可简单阐述,主要是理解


2.负责的那部分离线数仓数据量多大

       文件每天大约  x  g左右,每天上下可能浮动10几个g,大约 x 亿行

       app:播放次数 x  万、正片播放次数  x  万,播放用户数  x   万、正片播放用户数  x    万,有效播放用户数  x   万、有效播放时长(小时)亿、流量(TB)TB,人均播放时长30-40分钟, 活跃用户数uv x  万左右


3.用临时表代替with的好处

        能让中间数据落地,减少内存占用

        阐述了CTE的优缺点


4.负责的离线数仓大概有多少张表、模型

           明细层: 400张表左右

           主题层:

          产品主题: 296 张表

           视频主题: 105 张表

                    。。。

           adm层: 173 张表

           数仓层级与主题域模型细化阐述


5.你负责的那部分,数仓架构是怎么设计的

         讲解下具体的维度建模过程。维度建模过程是重点,要根据每个公司实际的开发情况说。我们是明细层先做基础表,基础表已经把公共字段和常用字段关联出来,保留事件名和对应json。在基础表的基础上再按照业务过程拆分明细表

          重点围绕:选择业务过程-》声明粒度-》确认维度-》确认事实


6.数仓除了标准的4层模型还可以怎么设计

①增加dwt层。dws是一个主题一天的累计行为,可以在dws的基础上增加dwt层,获取每个主题的历史行为。

②增加dm层(数据集市-主题宽表层Data Mart)。基于dws的数据,按照主题汇总,建设宽表模型、汇总表模型,比如商家宽表、商家时段汇总表等。主要作用是支撑数据分析查询以及支持应用所需数据。

相当于增加了一个adm层,和我们现有的adm服务领域不一样。一部分数据从adm获取,另一部分数据从dm层获取

概念:又称数据集市或宽表。按照业务划分,如流量、订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP分析,数据分发等。

数据生成方式:由轻度汇总层和明细层数据计算生成。


7. OLAP,负责的多维分析平台(全维度分析数据)。最多几个字段,数据量级别、有没有必要做这么多字段

        以单日最大的表为例子

数据量级别;2亿2千万

多少个维度:19个。id->的维度大概是4个,还有两个维度是用来做权限控制的。取不加密数据:adm取数的时候就把加密的字段=空

多少个指标:27个指标

是否有意义:能被业务日常使用同时做分析,并且对他后期的运营带来帮助就有意义


8.有没有使用过kylin、es、clickhouse等其他OLAP平台,说下cube的剪支


9.有没有参与BI平台的选型过程

     可看这个,很全了,回顾:大数据可视化BI工具总结


10.正在使用的BI平台中的好处和不好在哪里

好处:增加了集市,把数据加快查询速度。

坏处:报表开发处理过程变复杂了,数据是存在本机服务器上的,有存储的上限,需要定期推动业务方下线数据


11.说下遇到的hive优化场景和数据倾斜场景

1.先groupby再count(1) 来替代count(distinct)

2.空值引发的数据倾斜。关联的字段把空值和-998打上一个随机值

3.两表关联时,不同数据类型引发的数据倾斜。用来关联的字段,既有string又有int类型,所有的string会被发到一个reduce里。处理方案:关联字段把int转换成string

4.合理设置map个数

5.合理设置reduce个数


12.实时数仓做过吗,简单说下

实时数仓的业务场景,lambda/kappa架构优缺点,Flink优化,双流join等




总结语



从一面来看,主要考察三个层面:技术、理论、业务。技术多为MR原理,Hive优化、数据倾斜、技术症结;理论多为维度建模、数仓层级、主题事实维度等;业务的话,会结合理论和优化等一起问,项目细节、模型细节、业务细节,模型与业务的结合,痛点与优化方案等。对,还有实时数仓,简单问了下。

今天就先写到这里,作为个人总结与参考,希望能抛砖引玉,对你有所帮助!很开心能与大家分享,也欢迎大家关注这个数仓领域高质量的公众号。再次谢邀!



▼ 阿里 | 记一次蚂蚁金服面试经历
▼ 头条 | 大厂大数据开发面试经验
▼ 快手 | 记一次数据岗位大厂面试
▼ 校招 | 一个BAT校招面试官 1 天
▼ 美团 | 数据仓库高级工程师面试
▼ 字节 | 数据仓库高级工程师面试
▼ 拼多多 | 记一次拼多多面试经验
▼ 2020大数据Java面试总结(未完待续)
▼ 2021大数据架构干货文章精选(推荐收藏)



更多干货,请戳"阅读原文"到"面试系列"查看



关注不迷路~ 各种干货、资源定期分享

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存